package cn.hl.hm.service;

import cn.hl.hm.entity.Driver;
import cn.hl.hm.entity.DriverAmountInfo;
import cn.hl.hm.entity.OrderVO;
import cn.hl.hm.entity.WithdrawApply;
import cn.hl.hm.util.paging.PageInfo;

import java.util.List;

/**
 * 司机业务接口
 * 
 * @author LBJ
 *
 */
public interface DriverService {

	int deleteByPrimaryKey(Integer id);

	int insert(Driver record);

	int insertSelective(Driver record);

	Driver selectByPrimaryKey(Integer id);

	int updateByPrimaryKeySelective(Driver record);

	int updateByPrimaryKey(Driver record);

	/**
	 * 获取司机列表
	 * @param driver
	 * @return
	 */
	List<Driver> selectDriver(Driver driver);

	/**
	 * 司机活跃统计（登录、注册）
	 * @param driverId
	 * @param role
	 * @param oper
	 * @return
	 */
	int addHotRecord(Integer driverId, String role, String oper);

	int addDriver(Driver driver);

	int updateDriver(Driver driver);
	/**
	 * 获取司机列表
	 * @param driver
	 * @returnØß
	 */
	List<Driver> selectDriverInfo(Driver driver);
	
	List<Driver> selectDriverInfoForVehiclePrice(Driver driver);
	
	/**
	 * 
	  * @Title: selectOrderRules  
	  * @Description: 信息费规则
	  * @date: 2017年1月10日
	  * @author:星矢
	  * @return OrderRules 
	  * @throws
	 */
	public OrderVO selectOrderOtherInfo(Integer driverId);
	
	public DriverAmountInfo selectDriverHistory(Integer driverId);
	
	public int addApply(WithdrawApply withdrawApply);

	public int auditApply(WithdrawApply withdrawApply);
	
	public List<WithdrawApply> getApply(Integer driverId);

	public List<Driver> selectDriverInfoListPage(PageInfo pageInfo);

	List<Driver> selectListByIds(List<Integer> ids);

	public void fillChargeSetting(List<Driver> ddlList);
}
